﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ComponentModel;
using Slex.Lib.Demo.Commands;

namespace Slex.Lib.Demo.Views.Demos
{
    public class EventTriggerModel : INotifyPropertyChanged
    {


        public EventTriggerModel()
        {
            SomeBool = true;
        }

        private string _data="Will be set based on multiple conditions";

        public string Data
        {
            get { return _data; }
            set { _data = value; OnPropertyChanged("Data"); }
        }

        public bool SomeBool { get; set; }

        public ICommand UpdateDataCommand
        {
            get
            {
                return new DelegateCommand
                    ((obj) => true, (obj) => Data = "'UpdateDataCommand' command is called - Time: " + DateTime.Now.ToLongTimeString());
            }
        }

      



        #region INotifyPropertyChanged Members

        public void OnPropertyChanged(string propName)
        {
            if (PropertyChanged!=null)
                PropertyChanged(this,new PropertyChangedEventArgs(propName));
        }

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion
    }
}
